Adaptive HTTP streaming is a technique used to stream multimedia, and in particular video, over the network. It is characterized by very little buffering, fast start time and a good user experience for both high-end and low-end connections.
The difference between adaptive HTTP streaming and its predecessor, progressive download, is the following. In progressive download the server makes available the content file in one bit rate quality version only. The client plays the downloaded file as it arrives in the only available bit rate. If the bit rate exceeds the available bandwidth the client will not get data fast enough to play the content file in real-time, thus it will pause the rendering of the content, e.g. the video or piece of music, while buffering data.
In adaptive HTTP streaming the client downloads small segments of the content file at a time sequentially until all data comprised in the content file is downloaded. One segment typically corresponds to some-10 seconds of rendered, or “played-back”, content. On the server side each segment to be sent is duplicated into several bit rate levels, corresponding to several levels of rendering quality. A server can select to send to a client a version of the content file with a bit rate level that at least does not exceed the client's available bandwidth. This adaptive HTTP streaming results in smoother rendering, i.e. playback, with a reduction in buffering-related playback pauses, independently of bandwidth. The playback quality, however, will vary, since it is directly related to the selected bit rate.
For adaptive streaming purposes, the multiple segment bit rates and segment partition timing information are described in a so called manifest file. Based on the manifest file the client is enabled to request and/or retrieve the most appropriate segments one by one. Among the used adaptive streaming technologies can be mentioned “HTTP Live Streaming”, “Smooth Streaming” and “3GPP Adaptive HTTP streaming” (TS 26.234 and TS 26.244).
However, HTTP Adaptive Streaming does not adequately support permanent local storing of the streamed content. Further, if permanently stored in the client, the playback quality level, and quality variation of such content retrieved through adaptive streaming will remain as permanently as the permanently stored segments of variable bit rate. There is therefore a need for a method and an arrangement for increased support for local storing of streamed content, so as to circumvent or at least diminish the problems as mentioned above